package com.mybatisflex.example.pojo.domain.table;

import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.table.TableDef;

/**
 * 行政区信息 表定义层。
 *
 * @author tanyunpeng
 * @since 2024-02-28
 */
public class DistrictTableDef extends TableDef {

    /**
     * 行政区信息
     */
    public static final DistrictTableDef DISTRICT = new DistrictTableDef();

    /**
     * 主键
     */
    public final QueryColumn ID = new QueryColumn(this, "id");

    /**
     * 是否热门，0否，1是
     */
    public final QueryColumn HOT = new QueryColumn(this, "hot");

    /**
     * 行政区编码
     */
    public final QueryColumn CODE = new QueryColumn(this, "code");

    /**
     * 行政区名称
     */
    public final QueryColumn NAME = new QueryColumn(this, "name");

    /**
     * 行政区划级别,0全国1省份2市3区/县4镇/乡/街道
     */
    public final QueryColumn LEVEL = new QueryColumn(this, "level");

    /**
     * 区域中心点
     */
    public final QueryColumn CENTER = new QueryColumn(this, "center");

    /**
     * 拼音首字母
     */
    public final QueryColumn PINYIN = new QueryColumn(this, "pinyin");

    /**
     * 是否删除
     */
    public final QueryColumn DELETED = new QueryColumn(this, "deleted");

    /**
     * 版本
     */
    public final QueryColumn VERSION = new QueryColumn(this, "version");

    /**
     * 创建时间
     */
    public final QueryColumn CREATE_TIME = new QueryColumn(this, "create_time");

    /**
     * 父级行政区编码
     */
    public final QueryColumn PARENT_CODE = new QueryColumn(this, "parent_code");

    /**
     * 更新时间
     */
    public final QueryColumn UPDATE_TIME = new QueryColumn(this, "update_time");

    /**
     * 所有字段。
     */
    public final QueryColumn ALL_COLUMNS = new QueryColumn(this, "*");

    /**
     * 默认字段，不包含逻辑删除或者 large 等字段。
     */
    public final QueryColumn[] DEFAULT_COLUMNS = new QueryColumn[]{ID, NAME, CODE, CENTER, LEVEL, PARENT_CODE, PINYIN, HOT, VERSION, CREATE_TIME, UPDATE_TIME,};

    public DistrictTableDef() {
        super("", "district");
    }

}
